package com.tianshuo.transcation.main;

import com.tianshuo.transcation.TransactionConfig;
import com.tianshuo.transcation.service.TransactionService;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;


/**
 * Propagation.REQUIRED    外层有事务则加入，没有事务则开启事务
 * Propagation.REQUIRES_NEW  不论外城有没有事务都会开启新事务
 * Propagation.NEVER   以没有事务的执行，当存在事务时，抛出异常
 * Propagation.MANDATORY  外层有事务时加入，没有事务时抛出异常
 * Propagation.SUPPORTS 外城有事务时加入，没有事务时，已没有事务的方式执行
 *
 *
 *
 */
public class TransactionApplicationContext {
    public static void main(String[] args) {

        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(TransactionConfig.class);
        TransactionService bean = applicationContext.getBean(TransactionService.class);

        bean.a();

    }
}
